-
Notifications
You must be signed in to change notification settings - Fork 140
feat: TargetPortNumber int32 to become TargetPorts []Port #1354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: TargetPortNumber int32 to become TargetPorts []Port #1354
Conversation
✅ Deploy Preview for gateway-api-inference-extension ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Hi @capri-xiyue. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/ok-to-test |
/assign @ahg-g |
/assign @danehans @nirrozenbaum for InferencePool spec change. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: capri-xiyue The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @capri-xiyue! This LGTM, curious what others like @danehans and @nirrozenbaum think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @capri-xiyue!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I went over the PR.
the main comment I have is that I think this change is too tightly coupled with a specific way to do DP, while there are potentially multiple ways to do that.
if vLLM decides to shift from multiple ports to something else, we're going to get stuck with an array of size one.
I'm not a big fan of the approach that is suggested in this PR.
if we decide to pursue this path of multiple target ports on the CRD, this PR overall looks good. I left few comments.
"Default value will be set to InferencePool.Spec.TargetPortNumber if not set.") | ||
"Default value will be set to InferencePool.Spec.TargetPorts if not set.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's not so clear what is the expected behavior now.
if multiple port would be defined will IGW collect metrics from all ports?
I assume that was the intention - we should make that clear if yes and also make this flag multi port flag.
and also - we should also make that happen in the metrics collection which is obviously not the case atm.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -7,7 +7,8 @@ metadata: | |||
labels: | |||
{{- include "gateway-api-inference-extension.labels" . | nindent 4 }} | |||
spec: | |||
targetPortNumber: {{ .Values.inferencePool.targetPortNumber }} | |||
targetPorts: | |||
- number: {{ .Values.inferencePool.targetPortNumber }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this doesn't look native.
if we change to targerPorts -> number then we should do the same change in the values.yaml file of the helm chart.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used this here as currently we just allow one targetPortNumber in targetPorts.(minLength = == maxLength ==1) I agree we should change it once we switch to multiple target ports.
if len(pool.Spec.TargetPorts) != 1 { | ||
return fmt.Errorf("expected 1 target port, got %d", len(pool.Spec.TargetPorts)) | ||
} | ||
reqCtx.TargetEndpoint = pod.Address + ":" + strconv.Itoa(int(pool.Spec.TargetPorts[0].Number)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
excellent example to show a port is a property of a pod and not of the pool.. this comes back to the discussion on #1336
1d6392f
to
a8c8088
Compare
de34d3d
to
bde16d2
Compare
a1e28ad
to
575a9e2
Compare
hold until #1368 gets merged |
# Conflicts: # api/v1/inferencepool_types.go # api/v1/zz_generated.deepcopy.go # client-go/applyconfiguration/api/v1/inferencepoolspec.go # Conflicts: # api/v1/zz_generated.deepcopy.go # client-go/applyconfiguration/api/v1/inferencepoolspec.go
# Conflicts: # pkg/epp/controller/inferencepool_reconciler_test.go
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: Aslak Knutsen <[email protected]>
e4d080e
to
b10039a
Compare
@capri-xiyue: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
part of #1336